package com.ruoyi.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;



/**
 * 咨询优惠券视图对象 p_ask_coupon
 *
 * @author ruoyi
 * @date 2022-07-28
 */
@Data
@ApiModel("咨询优惠券视图对象")
@ExcelIgnoreUnannotated
public class PAskCouponVo {

    private static final long serialVersionUID = 1L;

    /**
     * 优惠券表ID
     */
    @ExcelProperty(value = "优惠券表ID")
    @ApiModelProperty("优惠券表ID")
    private Long id;

    /**
     * 优惠券名称
     */
    @ExcelProperty(value = "优惠券名称")
    @ApiModelProperty("优惠券名称")
    private String name;

    /**
     * 兑换的优惠券面值
     */
    @ExcelProperty(value = "兑换的优惠券面值")
    @ApiModelProperty("兑换的优惠券面值")
    private BigDecimal money;

    /**
     * 是否限量, 默认0 不限量， 1限量
     */
    @ExcelProperty(value = "是否限量, 默认0 不限量， 1限量")
    @ApiModelProperty("是否限量, 默认0 不限量， 1限量")
    private String isLimited;

    /**
     * 发放总数
     */
    @ExcelProperty(value = "发放总数")
    @ApiModelProperty("发放总数")
    private Long total;

    /**
     * 剩余数量
     */
    @ExcelProperty(value = "剩余数量")
    @ApiModelProperty("剩余数量")
    private Long lastTotal;

    /**
     * 使用类型 0 全场通用, 1 商品券, 2 咨询券
     */
    @ExcelProperty(value = "使用类型 1 全场通用, 2 商品券, 3 品类券")
    @ApiModelProperty("使用类型 0 全场通用, 1 商品券, 2 咨询券")
    private String useType;

    /**
     * 所属商品id / 分类id
     */
    @ExcelProperty(value = "所属商品id / 分类id")
    @ApiModelProperty("所属商品id / 分类id")
    private String primaryKey;

    /**
     * 最低消费，0代表不限制
     */
    @ExcelProperty(value = "最低消费，0代表不限制")
    @ApiModelProperty("最低消费，0代表不限制")
    private BigDecimal minPrice;

    /**
     * 可领取开始时间
     */
    @ExcelProperty(value = "可领取开始时间")
    @ApiModelProperty("可领取开始时间")
    private Date receiveStartTime;

    /**
     * 可领取结束时间
     */
    @ExcelProperty(value = "可领取结束时间")
    @ApiModelProperty("可领取结束时间")
    private Date receiveEndTime;

    /**
     * 是否固定使用时间, 默认0 否， 1是
     */
    @ExcelProperty(value = "是否固定使用时间, 默认0 否， 1是")
    @ApiModelProperty("是否固定使用时间, 默认0 否， 1是")
    private String isFixedTime;

    /**
     * 可使用时间范围 开始时间
     */
    @ExcelProperty(value = "可使用时间范围 开始时间")
    @ApiModelProperty("可使用时间范围 开始时间")
    private Date useStartTime;

    /**
     * 可使用时间范围 结束时间
     */
    @ExcelProperty(value = "可使用时间范围 结束时间")
    @ApiModelProperty("可使用时间范围 结束时间")
    private Date useEndTime;

    /**
     * 天数
     */
    @ExcelProperty(value = "天数")
    @ApiModelProperty("天数")
    private Integer day;

    /**
     * 优惠券类型 1 手动领取, 2 新人券, 3 赠送券
     */
    @ExcelProperty(value = "优惠券类型 1 手动领取, 2 新人券, 3 赠送券")
    @ApiModelProperty("优惠券类型 1 手动领取, 2 新人券, 3 赠送券")
    private String type;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    @ApiModelProperty("排序")
    private Long sort;

    /**
     * 状态（0：关闭，1：开启）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：关闭，1：开启")
    @ApiModelProperty("状态（0：关闭，1：开启）")
    private String status;

    private Date createTime;
}
